import { Injectable } from '@angular/core';

@Injectable()
export class UtilsService {

  constructor() { }

  /**
   * 判断传递的参数是否为对象
   * @param obj 任意类型
   * @return boolean
   */
  isObject(obj: any) {
    if (obj !== null && Object.prototype.toString.call(obj) === '[object Object]') {
      return true;
    } else {
      return false;
    }
  }

  /**
   * 序列化对象, Object => k1=v1&k2=v2
   * @param obj Object
   * @return string
   */
  encodeObject(obj: Object) {
    const arr = [];
    for (const i in obj) {
      if (obj.hasOwnProperty(i)) {
        arr.push(i + '=' + obj[i]);
      }
    }
    return arr.join('&');
  }

  /**
   * 删除数组元素首尾某个值
   * @param obj 数组对象
   * @param v 待删除的value
   * trimArray([',', '12', 'cl', 'lomoa', ','], ',') => ['12', 'cl', 'lomoa']
   */
  trimArray(obj: Array<string|number>, v: any) {
    // 数组第一个元素
    const one = obj[0];
    // 获取最后一个元素
    const last = obj[obj.length - 1];
    if (v === one) {
        obj.splice(0, 1);
    }
    if (v === last) {
        obj.splice(obj.length - 1, 1);
    }
    return obj;
  }



}
